Sliding windows
import sys
sys.path.insert(1, 'libs/')
import dynfc as dyn
import numpy as np
from numpy.random import seed, rand
import scipy as sc
from scipy import io
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
import matplotlib.cm as cm
import matplotlib.patches as patches
font = {'weight' : 'regular',
'size' : 24}
plt.rc('font', **font)
ts = sc.io.loadmat('data/ts.mat')['ts']
ts = ts.transpose()
corr_mats, idx = dyn.corr_slide(ts,300,50)
idx.shape
> (24,)
a = [1,1,1,1,1.6]
fig,ax = plt.subplots(1)
fig.set_figheight(10)
fig.set_figwidth(20)
plt.style.use('tableau-colorblind10')
for i in range(5):
plt.plot(2*i*a[i] + ts[i,]/1.4)
> [<matplotlib.lines.Line2D object at 0x7fc2f0e74400>]
> [<matplotlib.lines.Line2D object at 0x7fc2f0e83a90>]
> [<matplotlib.lines.Line2D object at 0x7fc2f0e9c860>]
> [<matplotlib.lines.Line2D object at 0x7fc2f0e9c198>]
> [<matplotlib.lines.Line2D object at 0x7fc2f0e83c88>]
> Text(0.5, 0, 'Time [TRs]')
> Text(0, 0.5, 'BOLD')
ax.tick_params(left=False)
ax.set_yticklabels([])
> [Text(0, -2.0, ''), Text(0, 0.0, ''), Text(0, 2.0, ''), Text(0, 4.0, ''), Text(0, 6.0, ''), Text(0, 8.0, ''), Text(0, 10.0, ''), Text(0, 12.0, ''), Text(0, 14.0, '')]
> (-3.0, 15.4)
> (0.0, 1200.0)
rect = patches.Rectangle((idx[0],-2.8),300,18,linewidth=4,edgecolor='#595959',facecolor='none')
ax.add_patch(rect)
> <matplotlib.patches.Rectangle object at 0x7fc2b7cc4e80>
rect = patches.Rectangle((idx[5],-2.8),300,18,linewidth=4,edgecolor='#A56B6B',facecolor='none')
ax.add_patch(rect)
> <matplotlib.patches.Rectangle object at 0x7fc2b7cd5240>
rect = patches.Rectangle((idx[9],-2.8),300,18,linewidth=4,edgecolor='#CE3E3E',facecolor='none')
ax.add_patch(rect)
> <matplotlib.patches.Rectangle object at 0x7fc2b7cd5550>
rect = patches.Rectangle((idx[16],-2.8),300,18,linewidth=4,edgecolor='#FF0000',facecolor='none')
ax.add_patch(rect)
> <matplotlib.patches.Rectangle object at 0x7fc2b7cd5860>

import sys
sys.path.insert(1, 'libs/')
import dynfc as dyn
import numpy as np
from numpy.random import seed, rand
import scipy as sc
from scipy import io
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
import matplotlib.cm as cm
import matplotlib.patches as patches
aa = plt.figure(figsize = [6,6])
ax = sns.heatmap(corr_mats[:,:,0],
cmap = "RdBu_r",
vmin = -1,
vmax = 1,
square = True,
cbar = False)
ax.axis('off')
> (0.0, 200.0, 200.0, 0.0)
ax.tick_params(left=False, bottom=False)
plt.show()

aa = plt.figure(figsize = [6,6])
ax = sns.heatmap(corr_mats[:,:,5],
cmap = "RdBu_r",
vmin = -1,
vmax = 1,
square = True,
cbar = False)
ax.axis('off')
> (0.0, 200.0, 200.0, 0.0)
ax.tick_params(left=False, bottom=False)
plt.show()

aa = plt.figure(figsize = [6,6])
ax = sns.heatmap(corr_mats[:,:,9],
cmap = "RdBu_r",
vmin = -1,
vmax = 1,
square = True,
cbar = False)
ax.axis('off')
> (0.0, 200.0, 200.0, 0.0)
ax.tick_params(left=False, bottom=False)
plt.show()

aa = plt.figure(figsize = [6,6])
ax = sns.heatmap(corr_mats[:,:,16],
cmap = "RdBu_r",
vmin = -1,
vmax = 1,
square = True,
cbar = False)
ax.axis('off')
> (0.0, 200.0, 200.0, 0.0)
ax.tick_params(left=False, bottom=False)
plt.show()

Cofluctuations
import sys
sys.path.insert(1, 'libs/')
import numpy as np
import scipy as sc
from scipy import io
import dynfc as dyn
import seaborn as sns
import matplotlib.pyplot as plt
ts = sc.io.loadmat('data/ts.mat')['ts']
ts = ts.transpose()
mat1, rss = dyn.corr_slide(ts,24)
mat1 = mat1[:,:,0]
aa = plt.figure(figsize = [6,6])
ax = sns.heatmap(mat1,
cmap = "RdBu_r",
vmin = -1,
vmax = 1,
square = False,
cbar = True)
ax.axis('off')
> (0.0, 200.0, 200.0, 0.0)
ax.tick_params(left=False, bottom=False)
plt.show()

upt = np.triu_indices(mat1.shape[0], k = 1)
vec = (mat1[upt])
toPlot = np.zeros((vec.shape[0],1))
toPlot[:,0] = vec
aa = plt.figure(figsize = (12/50,4))
ax = sns.heatmap(toPlot[:,0:1],
cmap = "RdBu_r",
vmin = -1,
vmax = 1,
square = False,
cbar = False)
ax.axis('off')
> (0.0, 1.0, 19900.0, 0.0)

edges_series, corr_mats, rss = dyn.cofluct(ts, 24)
aa = plt.figure(figsize = (12,4))
> /Users/runner/Library/r-miniconda/envs/r-reticulate/bin/python:1: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).
ax = sns.heatmap(edges_series,
cmap = "RdBu_r",
vmin = -1,
vmax = 1,
square = False,
cbar = False)
ax.axis('off')
> (0.0, 1200.0, 19900.0, 0.0)
